{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sebastian Raschka \n",
      "last updated: 2016-08-11 \n",
      "\n",
      "CPython 3.5.1\n",
      "IPython 5.0.0\n",
      "\n",
      "numpy 1.11.1\n",
      "mlxtend 0.4.2.dev0\n",
      "matplotlib 1.5.1\n",
      "scikit-learn 0.17.1\n"
     ]
    }
   ],
   "source": [
    "%load_ext watermark\n",
    "%watermark -a 'Sebastian Raschka' -u -d -v -p numpy,mlxtend,matplotlib,scikit-learn"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "This Jupyter notebook contains the code to create the data visualizations for the article \"Model evaluation, model selection, and algorithm selection in machine learning - Part II\" at http://sebastianraschka.com/blog/2016/model-evaluation-selection-part2.html.\n",
    "\n",
    "---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Resampling and Distributions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import seaborn.apionly as sns\n",
    "from sklearn.cross_validation import train_test_split\n",
    "\n",
    "rng = np.random.RandomState(12345)\n",
    "\n",
    "gauss = rng.multivariate_normal(mean=np.array([0., 0.]), \n",
    "                                cov=np.array([[2., 1.], \n",
    "                                              [1., 2.]]), \n",
    "                                size=100)\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    fig = plt.figure(figsize=(3, 3))\n",
    "    ax = fig.add_subplot(111)\n",
    "    sns.kdeplot(gauss[:, 0], gauss[:, 1])\n",
    "    ax.set_xticklabels([])\n",
    "    ax.set_yticklabels([])\n",
    "    plt.savefig('figures/gauss_small_orig.svg')\n",
    "    #plt.show()\n",
    "    \n",
    "\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:50]\n",
    "\n",
    "pred_2 = []\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    for i in range(5):\n",
    "        X_train, X_test = train_test_split(gauss,\n",
    "                                           test_size=0.3, \n",
    "                                           random_state=i)\n",
    "    \n",
    "        fig = plt.figure(figsize=(3, 3))\n",
    "        ax = fig.add_subplot(111)\n",
    "        sns.kdeplot(X_train[:, 0], X_train[:, 1], cmap='summer')\n",
    "        ax.set_xticklabels([])\n",
    "        ax.set_yticklabels([])\n",
    "        plt.savefig('figures/gauss_%d_small_train.svg' % i)\n",
    "        #plt.show()\n",
    "        fig = plt.figure(figsize=(3, 3))\n",
    "        ax = fig.add_subplot(111)\n",
    "        sns.kdeplot(X_test[:, 0], X_test[:, 1], cmap='copper')\n",
    "        ax.set_xticklabels([])\n",
    "        ax.set_yticklabels([])\n",
    "        plt.savefig('figures/gauss_%d_small_test.svg' % i)\n",
    "        #plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/Sebastian/miniconda3/lib/python3.5/site-packages/matplotlib/pyplot.py:516: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n",
      "  max_open_warning, RuntimeWarning)\n"
     ]
    }
   ],
   "source": [
    "import seaborn.apionly as sns\n",
    "from sklearn.cross_validation import train_test_split\n",
    "\n",
    "rng = np.random.RandomState(12345)\n",
    "\n",
    "gauss = rng.multivariate_normal(mean=np.array([0., 0.]), \n",
    "                                cov=np.array([[2., 1.], \n",
    "                                              [1., 2.]]), \n",
    "                                size=1000)\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    fig = plt.figure(figsize=(3, 3))\n",
    "    ax = fig.add_subplot(111)\n",
    "    sns.kdeplot(gauss[:, 0], gauss[:, 1])\n",
    "    ax.set_xticklabels([])\n",
    "    ax.set_yticklabels([])\n",
    "    plt.savefig('figures/gauss_large_orig.svg')\n",
    "    #plt.show()\n",
    "    \n",
    "\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:50]\n",
    "\n",
    "pred_2 = []\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    for i in range(5):\n",
    "        X_train, X_test = train_test_split(gauss,\n",
    "                                           test_size=0.3, \n",
    "                                           random_state=i)\n",
    "    \n",
    "        fig = plt.figure(figsize=(3, 3))\n",
    "        ax = fig.add_subplot(111)\n",
    "        sns.kdeplot(X_train[:, 0], X_train[:, 1], cmap='summer')\n",
    "        ax.set_xticklabels([])\n",
    "        ax.set_yticklabels([])\n",
    "        plt.savefig('figures/gauss_%d_large_train.svg' % i)\n",
    "        #plt.show()\n",
    "        fig = plt.figure(figsize=(3, 3))\n",
    "        ax = fig.add_subplot(111)\n",
    "        sns.kdeplot(X_test[:, 0], X_test[:, 1], cmap='copper')\n",
    "        ax.set_xticklabels([])\n",
    "        ax.set_yticklabels([])\n",
    "        plt.savefig('figures/gauss_%d_large_test.svg' % i)\n",
    "        #plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rng = np.random.RandomState(12345)\n",
    "\n",
    "gauss = rng.multivariate_normal(mean=np.array([0., 0.]), \n",
    "                                cov=np.array([[2., 1.], \n",
    "                                              [1., 2.]]), \n",
    "                                size=500000)\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    fig = plt.figure(figsize=(3, 3))\n",
    "    ax = fig.add_subplot(111)\n",
    "    sns.kdeplot(gauss[:, 0], gauss[:, 1])\n",
    "    ax.set_xticklabels([])\n",
    "    ax.set_yticklabels([])\n",
    "    plt.savefig('figures/gauss_pop.svg')\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Holdout method and repeated sampling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.cross_validation import train_test_split\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "iris = load_iris()\n",
    "X, y = iris.data[:, :], iris.target\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y,\n",
    "                                                    test_size=0.3, \n",
    "                                                    random_state=1,\n",
    "                                                    stratify=y)\n",
    "\n",
    "clf_1 = KNeighborsClassifier(n_neighbors=3,\n",
    "                             weights='uniform', \n",
    "                             algorithm='kd_tree', \n",
    "                             leaf_size=30, \n",
    "                             p=2, \n",
    "                             metric='minkowski', \n",
    "                             metric_params=None, \n",
    "                             n_jobs=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.954133333333\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEGCAYAAACgt3iRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHpBJREFUeJzt3X1YVHX+//HXgFwpqFHehIOQNwlumhXIruDNZlCbpm5C\nqako7ppmpoVFWWt+t65t10v6qa2VbWXu5maajnuZiZVkbWBLm7iV2po35CJMiXfjDRCiw+8Pl9lG\nYBw4cGCc5+Mvz+fzmXPe58OBl3POmTkWh8NRJQAADAho7gIAAL6PMAEAGEaYAAAMI0wAAIYRJgAA\nwwgTAIBhpoXJgw8+qF69eikhIaHOMY899phiYmI0aNAgffXVV2aVBgAwyLQwmTBhgmw2W539W7Zs\n0cGDB7Vjxw4tWbJEc+bMMas0AIBBpoVJfHy8QkND6+zPysrSuHHjJEn9+/fXqVOnVFJSYlZ5AAAD\nWsw1E7vdrvDwcNdyly5dZLfbm7EiAIC3WkyYAAB8V4sJE6vVquLiYtey3W6X1WptxooAAN4yNUyq\nqur+Tslhw4Zp9erVkqTPP/9cV155pTp37mxWaT5v3759zV1Ci8Oc1MSc1MScNI5WZm1o6tSpys3N\n1fHjx9W3b1/NnTtXlZWVslgsSktL0+23364tW7bo5ptvVnBwsF588UWzSgMAGGRamLz22muXHJOZ\nmWlCJQCAxtZirpkAAHwXYQIAMIwwAQAYRpgAAAwjTAAAhhEmAADDCBMAgGGmfc6kKVz8LcRTps/U\nrEfm1hj38h8X6ZUXFtdon/Zguu6fXfOr7uszvrS0VH9aukh/ff2VGuOnTJ+pcZN+7dYWHByslcv/\n1Oj1FJ88q8CS0/Wu39P4htZfWlqqsrIyV/vK5S/XOj+NMf+exo9N/ZUef+rpeq+/qeqf+KtpSv31\n/a7l4OBghYSENNr+TvzVNE2fNUchISFejW/q+Te7/uqfW10/r4vnX7rwM3jhj8u0ZuXrhuv39fHV\n839D97Aafd6wOByOur/jpIV7/e133Zb79OmjTp06mVrDkSNHtHv37lrr8NTX2AoLCxUZGdmo62xo\n/WbutycNnZOmqL+x11nb+rxZZ1McJw3R0Pobuk5JdfaVl5e3iDkxW13H5M/6dG/Q+jjNBQAwjDAB\nABhGmAAADPPpC/CN6cyZMyovL3dra9Omjdq2beuxz0y11VFdi5HXNWTfGntO6lujt3312V5z/Ew9\n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\n//vf68orr1RISIjS09O1bt061+ssFot+85vfKCgoSAMHDtTtt9+uv/3tb1691ht1neZ6//33dd11\n1+mee+5RQECAUlJSFBUVpc2bN7vGTJgwQd27d9cVV1yh0aNHu95tAWbxqeeZAI3hzTff1JAhQ7Rt\n2zZNmzZNx48f19mzZ1VWVqZbbrnFNe7iR5mGhoaqdevWruWIiAh9//33Onr06CVfa8T333+viIgI\nt7aIiAh99913ruXqp+JJUps2bVxfKw6YhTCB36l+BzBw4EDde++9mjdvnlauXKng4GDl5eW5HhZ0\nMYfDofLycrVp00aSVFRUpOuvv14dOnTw+NpLPaXuUv1hYWEqLCx0aysqKlJSUpLH1wFm4jQX/NqM\nGTP08ccfa/fu3Zo0aZKeeOIJHT16VNKFJ3lu3brVNbaqqkp/+MMfVFlZqU8//VQffPCBRo8eLYvF\n4vG1nTt31vHjx3Xq1Klaa+jYsaMCAgL07bff1tp/++2368CBA7LZbDp//rzWr1+vb775xm8fDIeW\niTCBX7n4XUCHDh00btw4ZWZm6umnn1aPHj2UlJSkyMhIJScna//+/a6xYWFhCg0NVe/evTV9+nQt\nXrzYdfHe02t79eqllJQU3XTTTerWrZsOHz7sVkObNm30yCOP6Be/+IW6deum/Px8t/6rrrpKa9as\n0dKlS9WjRw8tXbpUb7/9tuthRf72zHK0THxoEfBCbm6u7r//fu3atau5SwFaJN6ZAAAMI0wAAIZx\nmgsAYBjvTAAAhhEmAADDCBMAgGGECQDAMMIEAGDY/wfEc6ooS85XKAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e5ba630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rng = np.random.RandomState(seed=12345)\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:50]\n",
    "\n",
    "pred_2 = []\n",
    "\n",
    "for i in seeds:\n",
    "    X_train, X_test, y_train, y_test = train_test_split(X, y,\n",
    "                                                        test_size=0.5, \n",
    "                                                        random_state=i,\n",
    "                                                        stratify=y)\n",
    "    y_pred_i = clf_1.fit(X_train, y_train).predict(X_test)\n",
    "    y_pred_i_acc = np.mean(y_test == y_pred_i)\n",
    "    pred_2.append(y_pred_i_acc)\n",
    "\n",
    "pred_2 = np.asarray(pred_2)\n",
    "print(pred_2.mean())\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    plt.bar(range(0, pred_2.shape[0]), pred_2, color='gray', alpha=0.7)\n",
    "    plt.axhline(pred_2.max(), color='k', linewidth=1, linestyle='--')\n",
    "    plt.axhline(pred_2.min(), color='k', linewidth=1, linestyle='--')\n",
    "    plt.axhspan(pred_2.min(), pred_2.max(), alpha=0.2, color='steelblue')\n",
    "    plt.ylim([0, pred_2.max() + 0.1])\n",
    "    plt.xlabel('Repetition')\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.ylim([0.5, 1.0])\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-iris_0.svg')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e0835c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with plt.style.context(('fivethirtyeight')):\n",
    "    bp = plt.boxplot(pred_2,\n",
    "                notch=True,\n",
    "                sym='bs',\n",
    "                showmeans=True,\n",
    "                patch_artist=True,     \n",
    "                vert=True)\n",
    "    plt.setp(bp['boxes'], color='black')\n",
    "    plt.setp(bp['whiskers'], color='black', linestyle='-', linewidth=2)\n",
    "    plt.setp(bp['fliers'], color='black', marker='+')\n",
    "    plt.setp(bp['medians'], color='black', linewidth=2)\n",
    "    plt.setp(bp['means'], c='gray', markersize=10)\n",
    "    plt.setp(bp['caps'], linewidth=2)\n",
    "    plt.setp(bp['boxes'], facecolor='steelblue', linewidth=2)\n",
    "    plt.ylim([pred_2.min()-0.001, 1.01])\n",
    "    plt.xticks([])\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-iris_1.svg')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.961333333333\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nnGnxvgAA5vIqTN58803t2rVLqampWrlypWJiYjR37lxt377d6x0VFxerb9++io6OVlhYmNLT05WX\nl+c2xmKxqLq6WpJUVVWlK6+8Uu3atWvB4QAA2oLX50yuvPJK3Xvvvdq6das2b96snTt3asyYMbrh\nhhv03HPPuUKgOXa7XZGRka5lq9Uqu93uNubee+/Vnj171L9/fw0fPlyLFy9u4eEAANpCi/7b/89/\n/lPr1q1TXl6ebr75Zj344IPq1auXXn75ZY0fP15btmwxVMwHH3yggQMHatOmTfr222911113afv2\n7ercuXOT4xfcN9VtefyUTE3M+I1qa2vdt7vlbS24b1Oj9W+9Y4yio7NUW1ujM2fOutb7YMvb2vZu\n0+NTRo6V9OM7p4b13tmwrsnx46dk6qafD3Vrq6qq0ro1r2r9639tcnxL608ZOVZVVVWS1KL6G2qR\n1OL6X315hdatebXJ8VNm3Os2lxdb/ZK06qXnm51/X+v/6WuorepveD1LalS/p3qM1F9bW6PXc15p\nsp6JGb/R+CmZjV7PrV1/Qy0N63lbf8N6uW/8TWtfW91q9fv698TX+lvz70nD/PvC4nA4zl1o0MKF\nC7VhwwZ17dpVkyZN0oQJE2S1Wl399fX16t27tyoqKprdxmeffabFixfLZrNJkpYtWyaLxaKHHnrI\nNWbixImaP3++Bg8eLEkaO3asnn76ad18881NbnPjxo1uy4mJia59na+5vsTERNe7JLP6WlqjN30O\nh0PffPNNq2wzkI7bU19L5+RSeS146mtqToLhuD31mTknZh9bS/sa6veFV+9M6urq9Pe//13x8fFN\n9oeFhenDDz/0uI34+HiVlpaqrKxMERERstlsWr3a/X8DUVFR+uijjzR48GBVVlZq//796t27t3dH\nAgBoM16Fyfz589WxY0e3NofDodraWvXs2VOSFBMT43EboaGhys7OVlpampxOpzIyMhQbG6ucnBxZ\nLBZlZmbqkUce0f3336+kpCRJ0tNPP60rrrjCl+MCAJjIqzCZMmWKXnjhBYWHh7vaKioqNG/ePH3w\nwQde7yw1NVU7duxwa5sxY4br3xEREdqwYYPX2wMAXBy8+jbXvn37FBcX59YWFxfX5OfRAIDg41WY\nXHXVVSotLXVrKy0t5SMoAIAkL8Nk6tSpysjI0Lvvvqs9e/Zoy5YtmjZtmqZNm+bv+gAAAcDrE/Bh\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e5b7470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rng = np.random.RandomState(seed=12345)\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:50]\n",
    "\n",
    "pred_2 = []\n",
    "\n",
    "for i in seeds:\n",
    "    X_train, X_test, y_train, y_test = train_test_split(X, y,\n",
    "                                                        test_size=0.1, \n",
    "                                                        random_state=i,\n",
    "                                                        stratify=y)\n",
    "    y_pred_i = clf_1.fit(X_train, y_train).predict(X_test)\n",
    "    y_pred_i_acc = np.mean(y_test == y_pred_i)\n",
    "    pred_2.append(y_pred_i_acc)\n",
    "    \n",
    "pred_2 = np.asarray(pred_2)\n",
    "print(pred_2.mean())\n",
    "\n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    plt.bar(range(0, pred_2.shape[0]), pred_2, color='gray', alpha=0.7)\n",
    "    plt.axhline(pred_2.max(), color='k', linewidth=1, linestyle='--')\n",
    "    plt.axhline(pred_2.min(), color='k', linewidth=1, linestyle='--')\n",
    "    plt.axhspan(pred_2.min(), pred_2.max(), alpha=0.2, color='steelblue')\n",
    "    plt.ylim([0, pred_2.max() + 0.1])\n",
    "    plt.xlabel('Repetition')\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.ylim(0.5, 1.0)\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-iris_0_2.svg')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pessimistic Bias in Holdout"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([8, 8, 7, ..., 6, 9, 8])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from mlxtend.data import mnist_data\n",
    "\n",
    "X2, y2 = mnist_data()\n",
    "X_train2, X_test2, y_train2, y_test2 = train_test_split(X2, y2,\n",
    "                                                    test_size=0.3, \n",
    "                                                    random_state=12,\n",
    "                                                    stratify=y2)\n",
    "y_train2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "clf_2 = LogisticRegression(penalty='l2', \n",
    "                           dual=False, \n",
    "                           tol=0.0001, \n",
    "                           C=0.000001, \n",
    "                           fit_intercept=True, \n",
    "                           intercept_scaling=1, \n",
    "                           class_weight=None, \n",
    "                           random_state=12, \n",
    "                           solver='lbfgs', \n",
    "                           max_iter=100, \n",
    "                           multi_class='multinomial', \n",
    "                           verbose=0, \n",
    "                           warm_start=False, \n",
    "                           n_jobs=1)\n",
    "\n",
    "pred_train, pred_test = [], []\n",
    "\n",
    "intervals = np.arange(500, X_train2.shape[0] + 1, 200)\n",
    "\n",
    "for i in intervals:\n",
    "    clf_2.fit(X_train2[:i], y_train2[:i])\n",
    "    p_train = clf_2.score(X_train2[:i], y_train2[:i])\n",
    "    p_test = clf_2.score(X_test2, y_test2)\n",
    "    pred_train.append(p_train)\n",
    "    pred_test.append(p_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nx6233srbb79d52f573//y7333ouXlxcA4eHh/PWvf7XuT09P5+6776ZLly5cd911fPTRRwCsXbuW\nDz/8kOXLlxMUFGSzLsU5P//8M2FhYdYVKNu0acOIESPw9/e31tm0adMAmD17NoGBgQQFBREYGEjH\njh154YUXgJoJ7saOHUu3bt3o06cPa9asafC/lWhdJHGIFmfr1q3cd9996PV64uPj0Wq1LFu2jKNH\nj/Lpp5/y+eefW+fogdpTS6ekpLBo0SKOHj1KQEAAzz77rN3Hnjp1iocffpilS5eSlZVFSEgI+/bt\nqzfmfv368dRTT7Fx40aysrJs9pWWlhIfH88DDzxAVlYWr7zyComJiRw+fJhHHnmEe+65h9mzZ5OT\nk8Obb75Z69p9+vTht99+Y9GiRezevZuysrJ641i+fDm5ubnk5OTw8ccf4+Pjw+23347FYmH06NH0\n69ePgwcP8n//93+sWrWKr776qt5ridZLEodocQYOHMgtt9wC1Cy/2qdPH6Kjo1EUhZCQEMaPH883\n33xjPf7Cp5a77rqL3r17o1arGTVqFAcOHLD72M8++4xrr72WW2+9FbVazbRp02jfvn29MS9fvpyR\nI0fyyiuvcN1119GvXz+++OILoGbVtm7dunHfffehKAq9e/fmjjvuYPPmzQ2qj65du7Jlyxby8vJ4\n6KGHCAsLY/r06VRUVNR7zrlJ8pYvX06PHj344YcfKCkpITExEbVaTWhoKGPHjmXTpk0NikG0LtLG\nIVqcCxt8MzMzWbRoEfv376e8vByTyURMTEy9559bIQ1qlm4tLS21+9jjx48TGBhoc+zF1jFwc3Pj\n8ccf5/HHH6e4uJgXXniBCRMm8Ouvv5KTk8OePXsIDQ0F/lwS9IEHHqj3ehfq37+/9Slr3759JCQk\nsHz5chYuXFjr2OrqaiZMmMDYsWO58847AcjJySEnJ8cmBovFwvXXX9/gGETrIYlDtDgXvk5KTExk\nwIABvP7667i7u7Nq1Sq2bdvWpDF07tyZzz//3Kbs2LFjDTrXy8uLWbNm8a9//Qu9Xk9AQABDhw7l\nvffeq/N4e1dxi46O5o477uD333+vc/+cOXPo2LEjCxYssJYFBATQrVs39uzZY9e9ROskr6pEi1dS\nUoK3tzfu7u4cPHiQ119/vcnveeutt3LgwAE+++wzTCYT//73vzl9+nS9xy9btoz9+/dTXV1NZWUl\nL7/8Mu3btycsLIzbbruN33//nQ8++ACj0Uh1dTX79u3j8OHDQM1Tz9GjR+u99jfffMMbb7xBfn4+\nAF3mqkgAAAF7SURBVAcPHuTTTz9lwIABtY599dVX+fHHH3n55ZdtygcMGIBWqyU5OZnKykpMJhO/\n/fYb+/fvv4zaEVc7SRzCaTX0N+2lS5eyceNGgoKCmD17NvHx8fVe51LXbOixnTp14rXXXmPhwoV0\n7dqV7OxsoqKicHV1rfecKVOmEBYWRo8ePfj222957733cHNzw9vbm02bNvHee+8RERFBZGQkS5Ys\nobKyEoDx48dz4MABunTpQkJCQq3rtmvXjq1btxIbG0tQUBCjR49m5MiR1p5U59u0aRNZWVlERkZa\ne1etWrUKtVrN+++/z759+4iKiqJbt27Mnj3busqcEOeTAYBCNAKz2UxkZCRvvPEGAwcObO5whGhS\n8sQhxGXauXMnhYWFVFZWsmzZMlxcXC7aKC/E1UIax4W4TN999x0TJ07EZDLRo0cPNmzYgFarbe6w\nhGhy8qpKCCGEXeRVlRBCCLtI4hBCCGEXSRxCCCHsIolDCCGEXSRxCCGEsMv/A/oPc4xY9hkdAAAA\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d31bba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with plt.style.context(('fivethirtyeight')):\n",
    "    plt.plot(intervals, pred_train, marker='o', label='Train')\n",
    "    plt.plot(intervals, pred_test, marker='s', label='Test')\n",
    "    plt.legend(loc='best', numpoints=1)\n",
    "    plt.xlim([430, X_train2.shape[0] + X_test2.shape[0]])\n",
    "    plt.axvspan(X_train2.shape[0], \n",
    "                X_train2.shape[0] + X_test2.shape[0], \n",
    "                alpha=0.2, \n",
    "                color='steelblue')\n",
    "    plt.ylim([0.85, 1.0])\n",
    "    plt.xlabel('Training Set Size')\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-mnist_0.svg')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Bootstrap"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "rng = np.random.RandomState(seed=12345)\n",
    "\n",
    "iris = load_iris()\n",
    "X, y = iris.data, iris.target\n",
    "\n",
    "clf = KNeighborsClassifier(n_neighbors=3,\n",
    "                             weights='uniform', \n",
    "                             algorithm='kd_tree', \n",
    "                             leaf_size=30, \n",
    "                             p=2, \n",
    "                             metric='minkowski', \n",
    "                             metric_params=None, \n",
    "                             n_jobs=1)\n",
    "\n",
    "\n",
    "idx = np.arange(y.shape[0])\n",
    "\n",
    "accuracies = []\n",
    "\n",
    "for i in range(200):\n",
    "    \n",
    "    train_idx = rng.choice(idx, size=idx.shape[0], replace=True)\n",
    "    test_idx = np.setdiff1d(idx, train_idx, assume_unique=False)\n",
    "    \n",
    "    boot_train_X, boot_train_y = X[train_idx], y[train_idx]\n",
    "    boot_test_X, boot_test_y = X[test_idx], y[test_idx]\n",
    "    \n",
    "    clf.fit(boot_train_X, boot_train_y)\n",
    "    acc = clf.score(boot_test_X, boot_test_y)\n",
    "    accuracies.append(acc)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nG9fpqv5D9FT+x2f+BTxg6QPAM26sBwAATI/FKVuozMxMf5cAAIBpMEMDAABMj0ADAABMj0ADAABM\nj0ADAABMj0BzGrZt26b7779fEyZM0JgxY5SVleXeV/tx6/LyciUlJSkpKUkzZszQsWPHJB1fQ2r4\n8OFKTk5WcnKyV8su/PLLL1qzZs1p1VxVVaUbbrjBp2NXrFjR5Hd8BgDAFwQaH/ljte1vv/1Wa9eu\nPa26DcOo94Z6AACYVav52PZvV9M+3Z89aerVtj/44AO9/PLLatOmjbp06aJnnnlGOTk5Kisr0xtv\nvKG+fftq/vz5crlcOnDggDIyMtS3b1/ddNNN6tevn7Zv367zzz9fWVlZOnLkiKZPny673V7njs8b\nN25Udna2DMPQ4cOH9be//U1BQUGaNGmSzjnnHA0ZMkR9+/bVvHnzFBYWJovF4l4nCgCAlqTVBJrf\nnrI53Z89qW+17d+qXW37T3/600mrbY8bN04dO3bUgw8+qHXr1tVZnPK9997TX/7yF9144416++23\n5XA4NGnSJL322msaM2aM3nvvPaWlpSkyMlJr1qzRqlWr1LdvX+3cuVN5eXnq2rWrEhMT9fXXX2vT\npk3q3bu3pk6dqq+++kqff/65pOOnzJ5++mldcMEFysnJ0fvvv6/hw4dr3759euuttxQYGKgRI0Zo\n0aJF6tGjhzIyMhr1HgEA0FxaTaD57Smb0/3Zk6ZebTstLU05OTnKz89XRESE4uPj67xW165dtWjR\nIrVv316VlZXu5zr33HPVtWtXScdX0D527Jh27Nih2NhYSdLVV1+toKAg93PMnTtXISEhqqioUL9+\n/SRJ3bt3V2BgoCRp//796tGjh6TjM0y1q3sDANCStJpraH67avbp/uxJbGys1q9fr507d0qSe7Xt\nbdu21Xlc7WrbeXl5slgsdVbbPnLkiAzD0GeffaYrr7yyznGvvfaarFar8vPz5XK59OGHH8pisbhX\nwZ43b54efvhhZWZmqnfv3qessXaZrksvvVRffPGFJKm0tFTV1dWSpNmzZ2v+/PnKzMyss8jlidfY\ndO3aVT/88IMk6euvv/b6/QEAoDm1mhma5tbUq21fffXVuv/++xUSEqKQkBANHTpUR48e1X/+8x/l\n5eXptttu05QpU9S5c2d17dpVBw8ePKnG2mAyduxYzZgxQ+PGjVOvXr0UHBwsSbr99tuVmJioDh06\n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\nWGvXrlWHDh00ffp0vf/++woLC1NERISCgoLUq1cvBQcHa//+/Tr33HP91Uaj+NLzli1bNHjwYE2b\nNk0VFRW+yoVqAAACZklEQVRKTk7Wu+++q7Zt2/qrDa811G9oaKjS0tJktVoVFhamK6+8Uuecc446\ndepU7zFm4EvPkrR792499NBDSkpK0i233OKX2n3lS8//+Mc/FBAQoA0bNujbb7/VzJkz9cILL+i8\n887zVxte86Xf1jx21ddzbm6uaccuT2p/2azlcDjUuXPnBt8nNB2/v8P9+vXTunXrJElbtmxR7969\n3fs6deqk9u3bq23btgoICNC5554ru92uqKgoffLJJ5KkiooKHT161P0Pghn40nPt/yS1j6murpbL\n5fJL/Y3VUL81NTXaunWrli9frmeffVbbt29Xv3799Ic//KHeY8zAl5737t2riRMn6tFHH9XIkSP9\nVbrPfOl52bJlys/PV35+vi6//HItWLDAFGFG8q3f1jx21ddzaGioaceu3zJ+s1JQRESE/vvf/+rQ\noUOqqqrSpk2b1LdvX9OPX2bl9xmaYcOGacOGDRo7dqwkKTMzU2vWrNGRI0c0ZswY3XnnnUpMTFTb\ntm3Vo0cPjRw5UkFBQdq0aZNGjx7tvpo8ICDAz514z5eeq6qq9Nhjj2ncuHHuTw20a9fOz514x1O/\nkjRy5EgFBwfrnnvuUVhY2CmPMZPG9Dxx4kSFhYVp3rx5OnTokBYvXqxFixYpICBAL7/8sml+k/Xl\nz/lEZvp/WPKt39jY2FY9dkkn95ySkmLaseu3av+sTux51qxZuueee2QYhkaPHq0uXbqYfvwyKxan\nBAAApuf3U04AAACni0ADAABMj0ADAABMj0ADAABMj0ADAABMj0ADAABMj0ADAABMj0ADAABM7/8A\nPHuwrLDbyxcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x118c535c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "\n",
    "sns.set_style(\"ticks\")\n",
    "\n",
    "mean = np.mean(accuracies)\n",
    "\n",
    "#se = np.sqrt( (1. / (100-1)) * np.sum([(acc - mean)**2 for acc in accuracies])) \n",
    "#ci = 1.984 * se\n",
    "\n",
    "se = np.sqrt( (1. / (200-1)) * np.sum([(acc - mean)**2 for acc in accuracies])) \n",
    "ci = 1.97 * se\n",
    "\n",
    "lower = np.percentile(accuracies, 2.5)\n",
    "upper = np.percentile(accuracies, 97.5)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 4))\n",
    "ax.vlines(mean, [0], 80, lw=2.5, linestyle='-', label='mean')\n",
    "#ax.vlines(med, [0], 60, lw=2.5, linestyle='--', label='median')\n",
    "ax.vlines(lower, [0], 15, lw=2.5, linestyle='-.', label='CI95 percentile')\n",
    "ax.vlines(upper, [0], 15, lw=2.5, linestyle='-.')\n",
    "\n",
    "ax.vlines(mean + ci, [0], 15, lw=2.5, linestyle=':', label='CI95 standard')\n",
    "ax.vlines(mean - ci, [0], 15, lw=2.5, linestyle=':')\n",
    "\n",
    "\n",
    "ax.hist(accuracies, bins=7,\n",
    "        color='#0080ff', edgecolor=\"none\", \n",
    "        alpha=0.3)\n",
    "plt.legend(loc='upper left')\n",
    "sns.despine(offset=10, trim=True)\n",
    "plt.xlim([0.86, 1.03])\n",
    "plt.tight_layout()\n",
    "plt.savefig('figures/bootstrap-histo-1.svg')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from mlxtend.data import mnist_data\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "rng = np.random.RandomState(seed=12345)\n",
    "\n",
    "X, y = mnist_data()\n",
    "\n",
    "clf = LogisticRegression(penalty='l2', \n",
    "                           dual=False, \n",
    "                           tol=0.0001, \n",
    "                           C=0.000001, \n",
    "                           fit_intercept=True, \n",
    "                           intercept_scaling=1, \n",
    "                           class_weight=None, \n",
    "                           random_state=12, \n",
    "                           solver='lbfgs', \n",
    "                           max_iter=100, \n",
    "                           multi_class='multinomial', \n",
    "                           verbose=0, \n",
    "                           warm_start=False, \n",
    "                           n_jobs=1)\n",
    "\n",
    "\n",
    "idx = np.arange(y.shape[0])\n",
    "\n",
    "accuracies = []\n",
    "\n",
    "for i in range(200):\n",
    "    \n",
    "    train_idx = rng.choice(idx, size=idx.shape[0], replace=True)\n",
    "    test_idx = np.setdiff1d(idx, train_idx, assume_unique=False)\n",
    "    \n",
    "    boot_train_X, boot_train_y = X[train_idx], y[train_idx]\n",
    "    boot_test_X, boot_test_y = X[test_idx], y[test_idx]\n",
    "    \n",
    "    clf.fit(boot_train_X, boot_train_y)\n",
    "    acc = clf.score(boot_test_X, boot_test_y)\n",
    "    accuracies.append(acc)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n4UpKSlJ6erp27Nih3Nzcy96jQ4cOeuutt/TMM89o4cKF+uGHH7Rp0yatXr1aq1at0meffaYDBw5I\nkgYMGGDvov3222965513lJ6erj179mjLli0qLCzUqlWrlJ6ertdee82+kGevXr20cuVKDRgwQBs3\nbtQjjzyiVq1a6ZVXXpF0+TIML7/8shISEpSenq6QkBC9+eabNR4zAADqSo3Xcpo/f75Onjyp0aNH\na82aNbr22mslSUOHDtWcOXOq3TYlJUWpqalXVqkDwcHBGjRokP3flT3uzHZVuf7665Wfn1/hvsLC\nQh07dkz9+vWz3zdt2jTNnj1b69at06BBg9SyZUtJ0uOPP27vbAwaNEh79+6111HujjvukHSxs5Oc\nnKx9+/bpxx9/1OOPPy7DMFRUVKRDhw5Jkjp16iRJ2r9/v3r37i3p4grgzz33nFasWKH8/HxFRUXJ\nMAxduHBBR44ckVRxhe8TJ05IkgzDUFUrYvzwww9KSkqSJJWVlaljx441HjMAAOqKww7Nhg0b9MYb\nb0iS/P395ePjI6vVqq+//lqSlJeXp549e1b7GlarVQUFBRX+yrsWrhIdHa2cnBzl5ORUetioqsNJ\njrarSmhoqL744gsdPnxYklRaWqr58+dr3759FZ63detWxcbGKj09XRaLRX/729905swZjRgxQiUl\nJTIMQ//9738rHcPywLRjxw5169ZNnTp1UteuXZWenq6MjAyNGjVK3bt3l3SxiyZJXbp00e7duyVd\nPM8nJiZGXbp00e2336709HSlp6crPDy8wqGyP/P19ZXNZqv0c3fu3FkLFy5Uenq6pkyZosGDB9d4\nzAAAqCsOOzT33HOPpk+frsjISJWVlSk+Pl7XXXedZs2aJT8/P7Vq1UqzZs2qj1o9SrNmzbRgwQLN\nmDFDhmGouLhYgwcP1tixYys8r3PnznrhhRfk7++vG264QQkJCfL19VVsbKzGjx8vf39/DRgwQCEh\nIZe9x5YtW5SVlSWbzab58+erbdu2uuOOOzR27FidP39evXr1snfKyoWFhSkvL08RERGy2Wx69tln\nddddd+nLL7/UuHHjVFJSoiFDhiggIKDKVb379u2rp556Ss8+++xljyUkJOjFF1/UhQsXZLFY7OfT\nAADgTqy27aGmT5+u4cOH66677nJ3KUC9YbVtAM5iYj0AAGB6NT4pGPUrOTnZ3SUAAGAadGgAAIDp\nEWgAAIDpEWgAAIDpEWgAAIDpEWiuwL59+/T000/r8ccf1+jRoyssAVF+uXVhYaEiIyMVGRmpqVOn\n6ty5c5IuriE1YsQIRUVFKSoqqkbLLpw6dUobN268oprPnz9vX5urttasWVPnMz4DAOAMAo2Tylfb\nnjFjht566y29/fbb2rdvn9auXVvheeWrbWdmZqp///5auXKlJNlX2y6fvbcmyy58++232rx58xXV\nbRhGlRPqAQBgVg3msu0/r6Z9pbcdqevVtj/99FOtWLFCfn5+uvbaa7V48WItX75cBQUFeuedd9S7\nd2/Nnz9fNptNv/76qxITE9W7d2/de++96tOnjw4cOKBrrrlGKSkpKikp0ZQpU1RUVFRhQc3t27cr\nNTVVhmHo7Nmz+te//qVGjRpp4sSJatmypQYNGqTevXtr7ty5atGihSwWi32dKDR8HxbU/3uePPvH\n/9bm/Ud2r5t6AJhHgwk0fz5kc6W3Halqte0/K19t+8EHH7xste1x48apWbNmeuaZZ+yzo5bbtGmT\n/v73v+uee+7Rhg0bVFxcrIkTJ2rt2rUaPXq0Nm3apLi4OHXt2lUbN27UunXr1Lt3bx0+fFjp6elq\n3bq1IiIitHv3bv3vf/9Tt27dNHnyZH399df68ssvJV08ZLZo0SK1atVKy5cv18cff6wRI0bo5MmT\nev/99+Xr66uRI0dq6dKl6tChgxITE2s1RgAA1JcGE2j+fMjmSm87UterbcfFxWn58uXKyMhQly5d\nNGTIkArv1bp1ay1dulRNmjTRmTNn7K919dVXq3Xr1pIurqB97tw5HTx4UKGhoZKkW265RY0aNbK/\nxuzZsxUQEKDjx4+rT58+kqR27drJ19dXkvTLL7+oQ4cOki52mMpX9wYAwJM0mHNo/rya9pXedqSu\nV9teu3atrFarMjIyZLPZ9Nlnn8lisdhXwZ47d66ee+45JScnq1u3bpXWWL5M1w033KCvvvpKkrR3\n716VlZVJkmbOnKn58+crOTm5wiKXl55j07p1a+3fv1+S7Kt4AwDgaRpMh6a+1fVq27fccouefvpp\nBQQEKCAgQIMHD9bvv/+u7777Tunp6br//vs1adIkNW/eXK1bt9Zvv/12WY3lwWTMmDGaOnWqxo0b\np06dOsnf31+S9MADDygiIkJNmzbVNddco59++qnCdpKUmJioqVOnKjAwUAEBAWrevLlLxxEAAFdg\n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\nl+2tqV69emnq1KnKzMxU+/btlZKSUu+fx92cGc8ePXooJydHkrRz504dP35cNptNxiXzLAYEBKio\nqKjePoekCJ3FAAACz0lEQVSncNV4GobB/qnqxzM4OFjff/+9fvnlF5WUlCgvL08lJSWXbePr62v/\nD5py7J8XOTueNpuN/VPOjackDR06VL6+vlW+rjfun64cS2f2Tdes2V1LzZo1U3Fxsf22zWaTxXIx\nWxUUFCgnJ0ebN29W06ZNNWXKFH388cfauXOnBg4cqOeff17Hjx9XVFSUPvzwQw0ZMsQ+gEOHDtWc\nOXPc8ZHcqrbj+cknn+jhhx/WDz/8oHHjxunWW29Vz549ZbFY7NtJUnFxsYKCgur987jblY5nnz59\n1LNnT/n4+LB/qvrxDAoKUlxcnKxWq1q0aKGePXuqZcuWCgwMvGwbX19f9k+5bjwtFgv7p5wbz6p4\n+/7pyrF0Zt90S4emT58+ys3NlXTxv2a7detmfywwMFBNmjRR48aN5ePjo6uvvlpFRUVq3ry5mjVr\nZn9OWVmZbDabYmJitHv3bklSXl6eevbsWf8fyM1qO56nT5/W7t27NWDAAK1atUrh4eFq3769JOmm\nm27S9u3bJUlbtmxR37596/8DudmVjue9995rH0/2z+rH88KFC8rPz9eqVav0yiuv6MCBA+rTp49u\nvfXWSrdh/3TteLJ/Ojeel7q0a9ijRw+v3j9dOZbO7Jtu6dAMHTpUW7du1ZgxYyRJycnJ2rhxo0pK\nSjR69Gg9+uijioiIUOPGjdWhQweNGjVK58+f10svvaRx48bZr3i66qqrlJSUpFmzZsnPz0+tWrXS\nrFmz3PGR3MqZ8SwqKtKSJUv0+uuvKygoSHPnzpUkTZs2TTNnzlRpaam6dOmi8PBwd340t3DleLJ/\nOh5PSRo1apT8/f01YcIEtWjRotJtJPZPybXjyf7p3HheysfHx/5vb98/XTmWzuybLE4JAABMj4n1\nAACA6RFoAACA6RFoAACA6RFoAACA6RFoAACA6RFoAACA6RFoAACA6RFoAACA6f0/G3TYvcTFmTMA\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x118f9d160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "\n",
    "sns.set_style(\"ticks\")\n",
    "\n",
    "mean = np.mean(accuracies)\n",
    "\n",
    "#se = np.sqrt( (1. / (100-1)) * np.sum([(acc - mean)**2 for acc in accuracies])) \n",
    "#ci = 1.984 * se\n",
    "\n",
    "se = np.sqrt( (1. / (200-1)) * np.sum([(acc - mean)**2 for acc in accuracies])) \n",
    "ci = 1.97 * se\n",
    "\n",
    "lower = np.percentile(accuracies, 2.5)\n",
    "upper = np.percentile(accuracies, 97.5)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 4))\n",
    "ax.vlines(mean, [0], 40, lw=2.5, linestyle='-', label='mean')\n",
    "#ax.vlines(med, [0], 60, lw=2.5, linestyle='--', label='median')\n",
    "ax.vlines(lower, [0], 15, lw=2.5, linestyle='-.', label='CI95 percentile')\n",
    "ax.vlines(upper, [0], 15, lw=2.5, linestyle='-.')\n",
    "\n",
    "ax.vlines(mean + ci, [0], 15, lw=2.5, linestyle=':', label='CI95 standard')\n",
    "ax.vlines(mean - ci, [0], 15, lw=2.5, linestyle=':')\n",
    "\n",
    "\n",
    "ax.hist(accuracies, bins=11,\n",
    "        color='#0080ff', edgecolor=\"none\", \n",
    "        alpha=0.3)\n",
    "plt.legend(loc='upper left')\n",
    "\n",
    "plt.xlim([0.885, 0.915])\n",
    "sns.despine(offset=10, trim=True)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.savefig('figures/bootstrap-histo-2.svg')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## K-fold and standard deviation (1-standard error method)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEbCAYAAACLGcAmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVHX+P/DXcNEZBtHlMoA3FM0bKbbStrotmmhZSl6i\nbLWLmsmWaZKtFaV+zVLLUn+7ZVEWll/zklmt+i1SSlirVXSTQVRMRZA7AyEwDMjl/P7QmWVgBoZh\n5syZ4fV8PHrscubMzJvjcN7zeZ/353NkgiAIICIikig3RwdARETUFiYqIiKSNCYqIiKSNCYqIiKS\nNCYqIiKSNCYqIiKSNMklqqKiIjz22GOYOnUqoqOj8emnn5rc77XXXsPdd9+N6dOn49y5cyJHSURE\nYvFwdAAtubu746WXXsLw4cOh1Woxa9Ys/OlPf8KgQYMM+6SkpCA3Nxffffcd0tPTsXr1auzdu9eB\nURMRkb1IbkQVEBCA4cOHAwCUSiUGDRqEkpISo32Sk5MxY8YMAEB4eDiqqqqg0WhEj5WIiOxPcomq\nuby8PJw/fx6jRo0y2l5SUoKgoCDDz4GBgSguLhY7PCIiEoHkSn96Wq0WS5cuRXx8PJRKpdWvc+rU\nKRtGRURE1hozZoxVz5NkompoaMDSpUsxffp0TJo0qdXjKpUKRUVFhp+LiooQGBho9vWsPTiOUFBQ\ngN69ezs6DIs5W7yA88XsbPECzhcz47W/zgwaJFn6i4+Px+DBg/H444+bfDwqKgpfffUVAOD06dPw\n8fGBv7+/mCESEZFIJDeiOnXqFA4cOIAhQ4ZgxowZkMlkiIuLQ0FBAWQyGWbPno3x48cjJSUFkydP\nhkKhwPr16x0dNhER2YnkEtWYMWMsmhe1atUqEaIhIiJHk2Tpj4iISI+JioiIJI2JioiIJI2JioiI\nJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2J\nioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJI2JioiIJE2SiSo+Ph7jxo1DdHS0ycdP\nnDiBiIgIzJw5EzNnzsTWrVtFjpCIiMTi4egATJk1axYeffRRrFixwuw+EREReP/990WMioiIHEGS\nI6qIiAj4+Pg4OgwiIpIASSYqS/zyyy+YPn06Fi1ahIsXLzo6HCIishNJlv7aExYWhqNHj0KhUCAl\n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\nzpWuk0gxZlc6vtRxkkpUkyZNwqRm97DRU6lUSEhIMPwcGRmJyMhIMUMjapOtOuVMnZDh49PllyNq\n6/hyBOj6JJWoiLo6Uyfkx7OyHBSNZUwlCnk7141tiaMq18dERUSdYs1af0QdwURFLq9lOU1/kzx+\nEydyDkxU5HJaJqbMkydxu68vNt91FwBAq9XiuZbXgTqJ10nsi8e3a2OiIoezdUdXy+s8qZmZ2KnT\n2TUOW43OHH29R6o4+u3amKjI4aSytpwU4ujM9Z6OJlq2fJOzYKIichEdTbRSSMxElmCiIpfn4eWF\nzLIyw0lY30xBRM6BiYpcTqvrPAMH4vaxYw0lLWdcJ42oK2OiIoezdUeXtddY2FlGJE1MVORwUrl4\nL5U4rNXRRMvETM6CiYrIRXQ00Tp7Yqauw83RARAREbWFIyoiMonzrEgqmKiIyCTOsyKpYOmPiIgk\njYmKiIgkjYmKiIgkjdeoiMgkzrMiqWCiIiKT2N1HUiGpRPXtt9/inXfewaVLl7Bv3z6EhYWZ3G/i\nxInw9vaGm5sbPDw8sG/fPpEjJSIisUgqUQ0ZMgTvvPMOVq1a1eZ+MpkMO3bsQM+ePUWKjIiIHEVS\niSo0NBQAIAhCm/sJgoCmpiYxQiIiIgeTVKKylEwmw4IFC+Dm5obZs2fjoYcecnRIRE6Bq02QMxI9\nUc2fPx8ajabV9ri4OEycONGi19i1axdUKhXKy8sxf/58hIaGIiIiwuz+lt7KWwqqqqoYr505W8y2\njLf8yhVs7dvXaNvTV67Y/Hh05WMsBmeLt7NET1SJiYmdfg2VSgUA8PX1xeTJk5GRkdFmonKmm+Q5\n2039nC1ewPlitmW8crkcSqWy1TZbH4+ufIzF4GzxAkBhYaHVz5XshF9z16l0Oh20Wi0AoKamBseO\nHcMtt9wiZmhERCQiSSWqI0eOYPz48UhPT8df//pXLFy4EABQUlKC2NhYAIBGo8GcOXMwY8YMzJ49\nGxMnTsSdd97pyLCJiMiOJNVMMWnSJEyaNKnVdpVKhYSEBABAv3798PXXX4sdGpFL4GoT5IwklaiI\nyL7Y3UfOSFKlPyIiopaYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKY\nqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiISNKYqIiI\n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\n5KcKKMMbTgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a2e4b00>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import make_circles\n",
    "\n",
    "\n",
    "with plt.style.context(('seaborn-whitegrid')):\n",
    "    X, y = make_circles(n_samples=300, random_state=1, noise=0.275, factor=0.2)\n",
    "\n",
    "    X_train, X_test, y_train, y_test = train_test_split(X, y,\n",
    "                                                        test_size=0.3, \n",
    "                                                        random_state=12345,\n",
    "                                                        stratify=y)\n",
    "\n",
    "    plt.scatter(X_train[y_train==0, 0], X_train[y_train==0, 1], \n",
    "                marker='s', color='red', edgecolor='k', alpha=0.6, s=25)\n",
    "    plt.scatter(X_train[y_train==1, 0], X_train[y_train==1, 1], \n",
    "                marker='^', color='blue', edgecolor='k', alpha=0.6, s=25)\n",
    "    plt.xlabel('X1', fontsize=14.5)\n",
    "    plt.ylabel('X2', fontsize=14.5)\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_1.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nJTXZJikpiU2bNgHwwQcfEB4eTr9+/XwZS0REAoRP96SCgoKYN28e06ZNw+v1kpqaSnx8POvXr8fh\ncJCWlsaQz8PVAAAGKElEQVQ111zD9u3bGT16NGFhYSxZssSXkUREJIA4vF6v1+4QIiIizdGMEyIi\nYqyALqn9+/dz/fXX2x3jpD755BPmzp3L3LlzOXDggN1xmvXWW28xb9485syZw+eff253nJPasWMH\njzzyiN0xmvX+++/z0EMPMXfuXCorK+2Oc1Imv4YQGO/FQPieBrN/Nn722WfccsstzJ07l3feeafF\n7QO6pLKysoiNjbU7xknV1tbyq1/9isTERN5//3274zSrpqaGzMxMpk2bxptvvml3nGYVFhayc+dO\namtr7Y7SrFdeeYVFixZx/fXXk5OTY3ecZpn+GkJgvBcD4XsazP7ZWFBQQEREBEFBQZx77rktbm9U\nSX344YdMnToVAK/Xy4IFC5gyZQq33nor33zzTZNtX375ZVJSUggNDTU249ChQ/nyyy9Zs2YNP/zh\nD43MeO2111JdXc26desaZ/4wLePAgQO5/fbb/ZbteK3J6fF46NatGxEREezbt8/IjHa+hq3NaNd7\nsS0Z7fqebktGu342tjZfQkICmZmZ/OIXvyArK6vF5zSmpF544QUeeeQR6urqANi2bRu1tbWsX7+e\n2bNnN476W7lyJffddx+vvfYa69evp6CggNdee824jLNnz6agoIBBgwbhdrt58cUXjcx44MABMjMz\nycjIoG/fvkZmLC8vB6w3vT+1Nmf37t2pra1l3759REREGJmxgR3jpFqb0Y73YlszfvTRR37/nm5r\nxn/9619+/9nYlnw7d+7E4/HQq1cvPB5Pi89rTEnFxcXxzDPPND7Oz8/n6quvBqw5/T7++GMAMjIy\nWLFiBS+99BILFy5kyJAhjB071riMy5cvp6qqiocffpgnnniClJQUIzMuXbqU/fv3s3z5crZu3Wpk\nxvDwcAAcDodf8rU25yeffALAjTfeyIIFC9iwYYPfvs6tzdjwWjbw92sIrX8d7XgvtjVjZWWl37+n\nW5ux4Wu9atUqv/9sbE2+htcwNjaWzMxMnnzySW655ZYWn9eYaZFGjx5NUVFR4+PKykp69erV+Dg4\nOBiPx4PT2bRXly1bZmzGq666iquuuspv+U4n49KlS/2a73QyNvDn1xpazhkUFITH42HQoEG2Xd/X\n1tfS369hazI2vI52vBcbtDajHd/TDUz/Wrf2NRw6dChDhw5t9fMasyf1fWeccQZVVVWNj5v7oWU3\nZewYgZARAiOnMnYMZWy/jspnzv/oey677DK2b98OWNMlnX/++TYnOpEydoxAyAiBkVMZO4Yytl9H\n5TPmcN/3jR49mjfffJMpU6YAGDldkjJ2jEDICIGRUxk7hjK2X0fl07RIIiJiLGMP94mIiKikRETE\nWCopERExlkpKRESMpZISERFjqaRERMRYKikRETGWSkpERIylkhIREWOppERExFgqKRERMZZKSkRE\njKWSEhERY6mkRPyssrKSpUuXMnLkSBISEpgxYwZlZWUnbPeXv/yFv/3tbzYkFDGHluoQ8aO9e/cy\ndepUCgsLCQ8P5+jRo9TW1nLWWWfx6quv0rNnz8Ztp0+fzrPPPmvUaqsi/qZ3v4gfZWRkcMEFF7Bl\nyxbefvttPvjgA9asWcOxY8fIyspq3O4f//gHP/rRj1RQ0uXpO0DET7Zt28ZZZ53F008/TXx8PAAO\nh4Mrr7ySZ599lk2bNuHxeADYsGEDN9xwg51xRYxg7PLxIp3N/v37mT17drN/d+655zJ06FA+/PBD\nQkJCuPDCCwkLC/NzQhHz6JyUiCE2bdpEVVUVu3btYsaMGfTt29fuSCK20+E+EUOcc8457N69m5qa\nGhWUyH+ppEQMER4ezp///Geuu+46u6OIGEMlJWIIp9NJWFgYw4cPtzuKiDFUUiKGOHz4MKNHj8bh\ncNgdRcQYKikRQ7z77rtcfPHFdscQMYpKSsQQubm5nH/++XbHEDGKSkrEABUVFezcuZMLL7zQ7igi\nRlFJiRhgx44dDBo0iG7dutkdRcQoKikRA+Tn53PFFVfYHUPEOCopEQNUV1eTkpJidwwR42haJBER\nMZb2pERExFgqKRERMZZKSkREjKWSEhERY6mkRETEWCopERExlkpKRESMpZISERFj/T8MUAsOv3w6\n4AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e5f1c18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "from sklearn.cross_validation import StratifiedKFold\n",
    "\n",
    "params = [0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0, 10000.0]\n",
    "cv_acc, cv_std, cv_stderr = [], [], []\n",
    "\n",
    "\n",
    "cv = StratifiedKFold(y=y_train, n_folds=10, shuffle=True, random_state=1)\n",
    "\n",
    "for c in params:\n",
    "\n",
    "    clf = SVC(C=10.0, \n",
    "              kernel='rbf', \n",
    "              degree=1, \n",
    "              gamma=c, \n",
    "              coef0=0.0, \n",
    "              shrinking=True, \n",
    "              probability=False, \n",
    "              tol=0.001, \n",
    "              cache_size=200, \n",
    "              class_weight=None, \n",
    "              verbose=False, \n",
    "              max_iter=-1, \n",
    "              decision_function_shape=None, \n",
    "              random_state=0)\n",
    "\n",
    "    \n",
    "    all_acc = []\n",
    "    for train_index, valid_index in cv:\n",
    "        pred = clf.fit(X_train[train_index], y_train[train_index])\\\n",
    "               .predict(X_train[valid_index])\n",
    "        acc = np.mean(y_train[valid_index] == pred)\n",
    "        all_acc.append(acc)\n",
    "\n",
    "    all_acc = np.array(all_acc)\n",
    "    y_pred_cv10_mean = all_acc.mean()\n",
    "    y_pred_cv10_std = all_acc.std()\n",
    "    y_pred_cv10_stderr = y_pred_cv10_std / np.sqrt(10)\n",
    "\n",
    "    cv_acc.append(y_pred_cv10_mean) \n",
    "    cv_std.append(y_pred_cv10_std)\n",
    "    cv_stderr.append(y_pred_cv10_stderr)\n",
    "    \n",
    "\n",
    "with plt.style.context(('seaborn-whitegrid')):\n",
    "    \n",
    "    ax = plt.subplot(111)\n",
    "    ax.set_xscale('log')\n",
    "    ax.errorbar(params, cv_acc, yerr=cv_std, marker='o', alpha=0.8, ecolor='black', elinewidth=2)\n",
    "\n",
    "    plt.ylim([0.0, 1.0])\n",
    "    plt.xlim([0.0001, 100000.0])\n",
    "    plt.xlabel('$\\gamma$', fontsize=25)\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_2.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a365320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from mlxtend.evaluate import plot_decision_regions\n",
    "\n",
    "clf = SVC(C=10.0, \n",
    "          kernel='rbf', \n",
    "          degree=1, \n",
    "          gamma=0.001, \n",
    "          coef0=0.0, \n",
    "          shrinking=True, \n",
    "          probability=False, \n",
    "          tol=0.001, \n",
    "          cache_size=200, \n",
    "          class_weight=None, \n",
    "          verbose=False, \n",
    "          max_iter=-1, \n",
    "          decision_function_shape=None, \n",
    "          random_state=123)\n",
    "\n",
    "clf.fit(X_train, y_train)\n",
    "\n",
    "with plt.style.context(('seaborn-whitegrid')):\n",
    "    plot_decision_regions(X_train, \n",
    "                          y_train, \n",
    "                          clf=clf, \n",
    "                          res=0.02, \n",
    "                          legend=None)\n",
    "    plt.xlabel('X1')\n",
    "    plt.ylabel('X2')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_3.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nnH+1k1fZ6wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107a432b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "clf = SVC(C=10.0, \n",
    "          kernel='rbf', \n",
    "          degree=1, \n",
    "          gamma=0.1, \n",
    "          coef0=0.0, \n",
    "          shrinking=True, \n",
    "          probability=False, \n",
    "          tol=0.001, \n",
    "          cache_size=200, \n",
    "          class_weight=None, \n",
    "          verbose=False, \n",
    "          max_iter=-1, \n",
    "          decision_function_shape=None, \n",
    "          random_state=123)\n",
    "\n",
    "clf.fit(X_train, y_train)\n",
    "with plt.style.context(('seaborn-whitegrid')):\n",
    "    plot_decision_regions(X_train, \n",
    "                          y_train, \n",
    "                          clf=clf, \n",
    "                          res=0.02, \n",
    "                          legend=None)\n",
    "    plt.xlabel('X1')\n",
    "    plt.ylabel('X2')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_4.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAEaCAYAAACrcqiAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VOXB9/HvzCSEkIRskJAgoKAoqdvTYl6rYnnBVvtY\n3HBDU5HFBav2AW1UEJFiXaJiay1UkRJ9IwpafRBptQoG3MMS0JpgFLBiEkAmk5WQZHLm/SMkTJJZ\ns81J+H2uy+tyJjPn3LkznN/cy7lvi8vlciEiImJC1lAXQERExBuFlIiImJZCSkRETEshJSIipqWQ\nEhER01JI9aDy8vJQF8H0VEf+qY78Ux351pvqRyHVgw4dOhTqIpie6sg/1ZF/qiPfelP9KKRERMS0\nFFIiImJaCikRETEthZSIiJiWQkpERExLISUiIqalkBIREdNSSImIiGkppERExLTCQl2AgKxdG+oS\ndIkIux0SE0NdDFNTHfmnOvJPdeSbKetn0iSPT6slJSIipqWQEhER01JIiYiIaSmkRETEtBRSIiJi\nWgopERExLYWUiIiYlkJKRERMSyElIiKmpZASERHTUkiJiIhpKaRERMS0FFIiImJaCikRETGtkG7V\nsW/fPjIzM7Hb7VitVq666ipuuOGGUBZJRERMJKQhZbPZuO+++xgzZgw1NTVcccUVnHvuuYwaNSqU\nxRIREZMIaXff4MGDGTNmDABRUVGMGjWKAwcOhLJIIiJiIqYZk/r+++/ZuXMnp59+eqiLIiIiJmGK\nkKqpqeHOO+9k7ty5REVFhbo4IiJiEiEdkwJwOp3ceeedXHrppVxwwQUeX1NdXU1dXV0Pl6zr1dbW\nYrfbQ10MU1Md+ac68k915JsZ6yfRy/MhD6m5c+dy4oknMnXqVK+viY6OJjo6ugdL1T3sdjuJid7+\nFAKqo0CojvxTHfnWm+onpN19W7duZe3atXz66adcdtllXH755WzatCmURRIRERMJaUvqJz/5CYWF\nhaEsgoiImJgpJk6IiIh4opASERHTUkiJiIhpKaRERMS0FFIiImJaCikRETEthZSIiJiWQkpERExL\nISUiIqalkBIREdNSSImIiGkppERExLQUUiIiYloKKRERMS2FlIiImJZCSkRETEshJSIipqWQEhER\n0wrp9vEiZjNhzhwqKypaHg+MjWXD4sW9/lwivZVCSsRNZUUFW2JjWx6PdQuR3nwukd5K3X0iImJa\n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\niIhpKaRERMS0FFIiImJaCikRETEthZSIiJiWQkpERExLISUiIqalkBIREdNSSImIiGmFbBX0rKws\n3n//ffr168fw4cN55JFHiI6ODlVxRETEhELWkjrvvPNYt24da9asYcSIETz77LOhKoqIiJhUyELq\nnHPOwWptOv2ZZ57Jvn37QlUUERExKVOMSb322mucf/75oS6GiIiYTLeOSU2bNo2DBw+2e3727NlM\nmDABgKVLlxIeHs6kSZO8Hqe6upq6urpuK2dPqa2txW63h7oYpqY68k915J/qyDcz1k+il+e7NaRW\nrFjh8+evv/46Gzdu5MUXX/T5uujo6D4xqcJut5OY6O1PIaA6CoTqyD/VkW+9qX5CNrtv06ZNLF++\nnJycHPr16xeqYoiIiImFLKQeeughGhoamD59OgBnnHEGDz74YKiKIyIiJhSykPrXv/4VqlOLiEgv\nYYrZfSIiIp4opERExLQUUiIiYloKKRERMS2FlIiImJZCSkRETEshJSIipqWQEhER01JIiYiIaSmk\nRETEtBRSIiJiWgopERExLYWUiIiYlkJKRERMSyElIiKmpZASERHTUkiJiIhpKaRERMS0QrZ9fFAm\nTQp1CbpEXUkJpKaGuhimpjryT3Xkn+rIt95UP2pJiYiIaSmkRETEtBRSIiJiWgopERExLYWUiIiY\nlkJKRERMSyElIiKmpZASERHTUkiJiIhpKaRERMS0LC6XyxXqQoiIiHiilpSIiJiWQkpERExLISUi\nIqalkBIREdNSSPWwrKwsfvnLX3LppZdyxx13UF1dHeoimc7bb7/Nr371K8aMGcOXX34Z6uKYxqZN\nm7jooou48MILee6550JdHNOZO3cu55xzDpP6yP5z3WHfvn3ccMMNXHzxxUyaNIkXX3wx1EXySyHV\nw8477zzWrVvHmjVrGDFiBM8++2yoi2Q6o0eP5plnnuGss84KdVFMwzAMFi1axPLly3nrrbdYt24d\nu3btCnWxTOWKK65g+fLloS6GqdlsNu677z7WrVvHK6+8wksvvWT6z5FCqoedc845WK1N1X7mmWey\nb9++EJfIfEaOHMnxxx+P7o446vPPP2fEiBEMHTqU8PBwLr74YtavXx/qYpnK2LFjGThwYKiLYWqD\nBw9mzJgxAERFRTFq1CgOHDgQ4lL5ppAKoddee43zzz8/1MWQXmD//v2kpKS0PE5OTjb9xUXM7fvv\nv2fnzp2cfvrpoS6KT2GhLkBfNG3aNA4ePNju+dmzZzNhwgQAli5dSnh4+DHbfx5IHYlI96ipqeHO\nO+9k7ty5REVFhbo4PimkusGKFSt8/vz1119n48aNvWLQsrv4qyNpLTk5mZKSkpbH+/fvJykpKYQl\nkt7K6XRy5513cumll3LBBReEujh+qbuvh23atInly5ezdOlS+vXrF+rimJ7GpZqcdtppfPfddxQX\nF1NfX8+6deuYOHFiqItlOvq8+Dd37lxOPPFEpk6dGuqiBERr9/WwX/ziFzQ0NBAXFwfAGWecwYMP\nPhjaQpnMe++9x6JFi3A4HAwcOJBTTjmF559/PtTFCrlNmzbxhz/8AZfLxZVXXsnNN98c6iKZyl13\n3cVnn31GeXk5gwYN4o477mDy5MmhLpapbN26lYyMDEaPHo3FYsFisTB79mxTj40rpERExLTU3Sci\nIqalkBIREdNSSImIiGkppERExLQUUiIiYloKKRERMS2FlEiI7Nu3j4kTJ1JZWQlARUUFEydOpKSk\nhJkzZ3LWWWdx6623hriUIqGlkBIJkSFDhnDdddfxxBNPAPDkk09y7bXXkpqaysyZM3n88cdDXEKR\n0FNIiYTQ1KlT2bFjBy+88AL5+flMnz4dgLPPPpsBAwaEuHQioacFZkVCKCwsjN/97nfMnDmTFStW\nYLPZQl0kEVNRS0okxDZu3EhSUhJFRUWhLoqI6SikREKosLCQTz/9lNWrV5Odne1xjy2RY5lCSiSE\nFi5cyNy5cxkyZAgzZ87k0UcfbfmZ1n4WUUiJhMzq1atJTU3lpz/9KQBTpkxh9+7dbNmyheuvv57Z\ns2fz6aefMn78eD766KMQl1YkNLRVh4iImJZaUiIiYloKKRERMS2FlIiImJZCSkRETEshJSIipqWQ\nEhER01JIiYiIaf1/1sG/m5Dl3WgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e805080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "clf = SVC(C=10.0, \n",
    "          kernel='rbf', \n",
    "          degree=1, \n",
    "          gamma=10, \n",
    "          coef0=0.0, \n",
    "          shrinking=True, \n",
    "          probability=False, \n",
    "          tol=0.001, \n",
    "          cache_size=200, \n",
    "          class_weight=None, \n",
    "          verbose=False, \n",
    "          max_iter=-1, \n",
    "          decision_function_shape=None, \n",
    "          random_state=123)\n",
    "\n",
    "clf.fit(X_train, y_train)\n",
    "with plt.style.context(('seaborn-whitegrid')):\n",
    "    plot_decision_regions(X_train, \n",
    "                          y_train, \n",
    "                          clf=clf, \n",
    "                          res=0.02, \n",
    "                          legend=None)\n",
    "    plt.xlabel('X1')\n",
    "    plt.ylabel('X2')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_5.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Repeated k-fold"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.64318181818181819, 0.77272727272727271, 0.89181818181818184, 0.92500000000000004, 0.84409090909090911]\n",
      "[0.61954545454545451, 0.77318181818181819, 0.9081818181818182, 0.93227272727272725, 0.86181818181818193]\n",
      "[0.63727272727272732, 0.79045454545454541, 0.89454545454545453, 0.92818181818181811, 0.86681818181818182]\n",
      "[0.64772727272727271, 0.7804545454545454, 0.89681818181818185, 0.92363636363636359, 0.87181818181818183]\n",
      "[0.65136363636363637, 0.77136363636363636, 0.89954545454545465, 0.93454545454545457, 0.86863636363636376]\n"
     ]
    }
   ],
   "source": [
    "rng = np.random.RandomState(seed=12345)\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:5]\n",
    "\n",
    "params = [0.01, 0.1, 1.0, 10.0, 100.0]\n",
    "cv_acc, cv_std, cv_stderr = [], [], []\n",
    "\n",
    "params_by_seed = []\n",
    "for seed in seeds:\n",
    "    cv = StratifiedKFold(y=y_train, n_folds=10, \n",
    "                         shuffle=True, random_state=seed)\n",
    "    acc_by_param = []\n",
    "    for c in params:\n",
    "        \n",
    "        clf = SVC(C=1.0, \n",
    "                  kernel='rbf', \n",
    "                  degree=1, \n",
    "                  gamma=c, \n",
    "                  coef0=0.0, \n",
    "                  shrinking=True, \n",
    "                  probability=False, \n",
    "                  tol=0.001, \n",
    "                  cache_size=200, \n",
    "                  class_weight=None, \n",
    "                  verbose=False, \n",
    "                  max_iter=-1, \n",
    "                  decision_function_shape=None, \n",
    "                  random_state=12345)\n",
    "\n",
    "\n",
    "        all_acc = []\n",
    "        for train_index, valid_index in cv:\n",
    "            pred = clf.fit(X_train[train_index], y_train[train_index])\\\n",
    "                   .predict(X_train[valid_index])\n",
    "            acc = np.mean(y_train[valid_index] == pred)\n",
    "            all_acc.append(acc)\n",
    "\n",
    "        all_acc = np.array(all_acc)\n",
    "        acc_by_param.append(all_acc.mean())\n",
    "    print(acc_by_param)\n",
    "    params_by_seed.append(acc_by_param)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a36a6a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with plt.style.context(('fivethirtyeight')):\n",
    "    ax = plt.subplot(111)\n",
    "    ax.set_xscale('log')\n",
    "    \n",
    "    for cv_acc in params_by_seed:\n",
    "        ax.errorbar(params, cv_acc, linewidth=1.5, alpha=0.6, marker='o')\n",
    "\n",
    "    plt.ylim([0.6, 1.0])\n",
    "    plt.xlabel('$\\gamma$', fontsize=25)\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_7.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(210,)"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.65238095238095239, 0.75714285714285712, 0.89523809523809528, 0.92380952380952375, 0.84761904761904761]\n",
      "[0.63809523809523816, 0.75238095238095237, 0.90000000000000002, 0.93809523809523809, 0.86666666666666681]\n",
      "[0.60476190476190472, 0.77142857142857135, 0.90000000000000002, 0.92857142857142849, 0.8571428571428571]\n",
      "[0.67142857142857149, 0.76190476190476186, 0.88571428571428579, 0.90952380952380951, 0.84761904761904761]\n",
      "[0.65238095238095239, 0.75238095238095237, 0.89047619047619053, 0.92380952380952386, 0.85238095238095235]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x119b1b358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rng = np.random.RandomState(seed=12345)\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:5]\n",
    "\n",
    "params = [0.01, 0.1, 1.0, 10.0, 100.0]\n",
    "cv_acc, cv_std, cv_stderr = [], [], []\n",
    "\n",
    "params_by_seed = []\n",
    "for seed in seeds:\n",
    "    cv = StratifiedKFold(y=y_train, n_folds=5, \n",
    "                         shuffle=True, random_state=seed)\n",
    "    acc_by_param = []\n",
    "    for c in params:\n",
    "        \n",
    "        clf = SVC(C=1.0, \n",
    "                  kernel='rbf', \n",
    "                  degree=1, \n",
    "                  gamma=c, \n",
    "                  coef0=0.0, \n",
    "                  shrinking=True, \n",
    "                  probability=False, \n",
    "                  tol=0.001, \n",
    "                  cache_size=200, \n",
    "                  class_weight=None, \n",
    "                  verbose=False, \n",
    "                  max_iter=-1, \n",
    "                  decision_function_shape=None, \n",
    "                  random_state=12345)\n",
    "\n",
    "\n",
    "        all_acc = []\n",
    "        for train_index, valid_index in cv:\n",
    "            pred = clf.fit(X_train[train_index], y_train[train_index])\\\n",
    "                   .predict(X_train[valid_index])\n",
    "            acc = np.mean(y_train[valid_index] == pred)\n",
    "            all_acc.append(acc)\n",
    "\n",
    "        all_acc = np.array(all_acc)\n",
    "        acc_by_param.append(all_acc.mean())\n",
    "    print(acc_by_param)\n",
    "    params_by_seed.append(acc_by_param)\n",
    "    \n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    ax = plt.subplot(111)\n",
    "    ax.set_xscale('log')\n",
    "    \n",
    "    for cv_acc in params_by_seed:\n",
    "        ax.errorbar(params, cv_acc, linewidth=1.5, alpha=0.5, marker='o')\n",
    "\n",
    "    plt.ylim([0.6, 1.0])\n",
    "    plt.xlabel('$\\gamma$', fontsize=25)\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_7_2.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.65277777777777779, 0.78333333333333321, 0.89861111111111103, 0.93194444444444458, 0.85277777777777775]\n",
      "[0.64722222222222225, 0.79305555555555562, 0.8916666666666665, 0.92638888888888871, 0.86249999999999993]\n",
      "[0.6527777777777779, 0.78194444444444444, 0.88194444444444431, 0.92499999999999993, 0.85555555555555551]\n",
      "[0.62916666666666676, 0.77222222222222214, 0.90000000000000002, 0.92361111111111105, 0.84861111111111109]\n",
      "[0.63611111111111107, 0.77083333333333337, 0.89166666666666672, 0.94027777777777777, 0.87361111111111112]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a228a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rng = np.random.RandomState(seed=12345)\n",
    "seeds = np.arange(10**5)\n",
    "rng.shuffle(seeds)\n",
    "seeds = seeds[:5]\n",
    "\n",
    "params = [0.01, 0.1, 1.0, 10.0, 100.0]\n",
    "cv_acc, cv_std, cv_stderr = [], [], []\n",
    "\n",
    "params_by_seed = []\n",
    "for seed in seeds:\n",
    "    cv = StratifiedKFold(y=y_train, n_folds=30, \n",
    "                         shuffle=True, random_state=seed)\n",
    "    acc_by_param = []\n",
    "    for c in params:\n",
    "        \n",
    "        clf = SVC(C=1.0, \n",
    "                  kernel='rbf', \n",
    "                  degree=1, \n",
    "                  gamma=c, \n",
    "                  coef0=0.0, \n",
    "                  shrinking=True, \n",
    "                  probability=False, \n",
    "                  tol=0.001, \n",
    "                  cache_size=200, \n",
    "                  class_weight=None, \n",
    "                  verbose=False, \n",
    "                  max_iter=-1, \n",
    "                  decision_function_shape=None, \n",
    "                  random_state=12345)\n",
    "\n",
    "\n",
    "        all_acc = []\n",
    "        for train_index, valid_index in cv:\n",
    "            pred = clf.fit(X_train[train_index], y_train[train_index])\\\n",
    "                   .predict(X_train[valid_index])\n",
    "            acc = np.mean(y_train[valid_index] == pred)\n",
    "            all_acc.append(acc)\n",
    "\n",
    "        all_acc = np.array(all_acc)\n",
    "        acc_by_param.append(all_acc.mean())\n",
    "    print(acc_by_param)\n",
    "    params_by_seed.append(acc_by_param)\n",
    "    \n",
    "with plt.style.context(('fivethirtyeight')):\n",
    "    ax = plt.subplot(111)\n",
    "    ax.set_xscale('log')\n",
    "    \n",
    "    for cv_acc in params_by_seed:\n",
    "        ax.errorbar(params, cv_acc, linewidth=1.5, alpha=0.5, marker='o')\n",
    "\n",
    "    plt.ylim([0.6, 1.0])\n",
    "    plt.xlabel('$\\gamma$', fontsize=25)\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.tight_layout()\n",
    "    plt.savefig('figures/model-eval-circles_7_3.svg')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Bootstrap"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from matplotlib import rc\n",
    "rc('text', usetex=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n51BgAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1062725f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "vs = []\n",
    "for n in range(5, 201, 5):\n",
    "    v = 1 - (1. - 1./n)**n\n",
    "    vs.append(v)\n",
    "\n",
    "with plt.style.context(('seaborn-whitegrid')):    \n",
    "    plt.plot([n for n in range(5, 201, 5)], vs, marker='o', \n",
    "            markersize=6, color='steelblue', linewidth=3, \n",
    "            alpha=0.5, markerfacecolor='white',\n",
    "            markeredgewidth=1)\n",
    "plt.xlabel('$n$', fontsize=18)\n",
    "plt.ylabel('$1 - \\\\bigg(1 - \\\\frac{1}{n}\\\\bigg)^n$', fontsize=18)\n",
    "plt.xlim([0, 210])\n",
    "plt.tight_layout()\n",
    "plt.savefig('./figures/bootstrap_prob.svg')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6321205588285577"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1 - np.e**(-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
